Operator CXPDualCamera

Operator Library: Hardware Platform

이 연산자는 CXP 듀얼 채널 카메라와 VisualApplets 간의 이미지 데이터 인터페이스를 나타냅니다.

하드웨어 플랫폼별 지원 여부
mE5 marathon VCX-QP
mE5 ironman VQ8-CXP6D
mE5 ironman VQ8-CXP6B

연산자는 출력값 O에 이미지 데이터를 반환합니다. 이 출력값은 항상 존재합니다.

이 표준 출력 포트 외에도, 설계 상 필요한 경우 다양한 선택적 포트를 지정할 수 있습니다.

다음 팝업 대화 상자가 연산자 인스턴스화 중에 나타납니다:

여기에서는 CXP 케이블을 통한 범용 입력 및 출력을 위한 선택적 포트와, 카메라와 연동되는 선택적 트리거 포트를 지정할 수 있습니다.

특정 GPI(범용 입력), 특정 GPO(범용 출력), 트리거 입력 포트 및 트리거 출력 포트의 사용 가능 여부를 정의할 수 있습니다.

포트 가용성을 “0” (기본값)으로 설정하면, 해당 포트는 운영자 인터페이스에 표시되지 않습니다. 포트 가용성을 “1”로 설정하면, 해당 포트가 운영자 인터페이스에서 사용할 수 있게 됩니다.

이 오퍼레이터는 CameraPort 유형의 리소스 2개를 사용합니다.

[중요] 이미지 너비 및 이미지 높이 조정

너비와 높이를 카메라별 설정에 맞게 조정할 수 있습니다. 단, 연산자 포트 O의 최대 이미지 너비는 의 포트 O에 대한 이미지 최대 너비는 포트 O의 병렬 처리 수준 로 나누어 떨어져야 합니다.

이미지의 최대 너비가 포트 O의 병렬 수로 나누어 떨어지는지 확인하십시오!

[중요] 가치는 Parallelism

포트 O의 병렬도는 최소값(매개변수 MinimalParallelism에 명시된 값) 이상으로 설정되어야 합니다. 이보다 더 낮은 값의 병렬도는 허용되지 않습니다. 최소 병렬도는 VisualApplets 이 연산자의 다른 매개변수에 대해 정의한 값을 바탕으로 계산됩니다. 이를 통해 들어오는 데이터를 항상 수신할 수 있습니다.

[중요] 더미 픽셀

출력 데이터에 더미 픽셀이 포함될 수 있습니다. 이는 연산자가 병렬도를 두 번 변환할 수 있기 때문입니다. 먼저, 연산자는 내부적으로 계산된 최소 병렬도로 변환한 후, 이를 매개변수 MinimalParallelism 매개변수에 읽기 전용 값으로 제공합니다. 이로 인해 내부 이미지 너비는 MinimalParallelism으로나누어 떨어지게 되며, 병렬도 변환으로 인해 가짜 값이 추가될 수 있습니다. 둘째, 연산자는 병렬성을 O로 변환합니다 .Parallelism, 첫 번째 병렬성 변환으로 인해 생성된 패딩된 이미지 너비가 O의 배수가 아닐 경우, 추가적인 더미 값이 발생할 수 있습니다.Parallelism. 따라서 출력 데이터에 더미 픽셀이 포함되는지는 MinimalParallelism 매개변수, 이미지 너비 및 O에 따라 달라집니다 .Parallelism. 각 병렬화 변환마다 더미 픽셀이 추가될 수 있습니다. 추가된 더미 픽셀에는 정의되지 않은 데이터 값이 포함되며, 이로 인해 이미지 너비가 실제 이미지 너비와 차이가 발생합니다.

예: 만약 MinimalParallelism이 12이고, O.Parallelism 가 32이며, 전송된 이미지의 너비가 128 픽셀이라면, 연산자는 내부적으로 너비가 132인 이미지 라인을 생성합니다. 이는 MinimalParallelism 매개변수에 정의된 내부 병렬도 12 때문입니다. 출력 시, 데이터 벡터는 병렬도 32 (O.Parallelism )로 변환되며, 그 결과 이미지 라인 폭은 160 픽셀이 됩니다.

더미 픽셀로 인해 예상되는 출력 이미지의 너비는 다음과 같습니다:

[중요] Bit Width 및 형식 유형

포트 O(이미지 포트)의 비트 폭은 선택된 형식 유형(매개변수 FormatType)에 따라 달라집니다:

  • FormatType이 Gray인 경우: Bit Width 에는 임의의 값(VAF_Gray 및 FL_NONE)이 지정될 수 있습니다.
  • FormatType이 RGB인 경우: Bit Width 가 3의 배수인 경우 (VAF_Color 및 FL_RGB)
  • FormatType이 RGBA인 경우: Bit Width 가 4의 배수일 때 (VAF_Gray 및 FL_NONE)
  • FormatType이 RAW인 경우: Bit Width 의 값은 32입니다 (VAF_Gray 및 FL_NONE).

I/O Properties

Property Value
Operator Type M
Input Links - TriggerI (선택 사항), 프레임 그래버에서 CXP 채널을 통해 카메라로 전송되는 트리거 신호. 이 포트는 주로 라인 스캔 카메라를 트리거하는 데 사용됩니다.
- GPIx (선택 사항), 프레임 그래버에서 CXP 채널을 통해 카메라로 전송되는 범용 입력 [x]. 사용 가능한 포트로는 GPI0, GPI1, GPI2, GPI3, GPI4, GPI5, GPI6 및 GPI7이 있습니다.
Output Links - O, 이미지 데이터 출력
- TriggerO (선택 사항), 카메라에서 CXP 채널을 통해 프레임 그래버로 전송되는 트리거 신호.
- GPOx (선택 사항), 카메라에서 CXP 채널을 통해 프레임 그래버로 전송되는 범용 출력 [x]. 사용 가능한 항목은 GPO0, GPO1, GPO2, GPO3, GPO4, GPO5, GPO6 및 GPO7입니다.

지원되는 Link Format

Link Parameter 출력 링크 - O 입력 링크 - TriggerI (선택 사항) 출력 링크 - TriggerO (선택 사항) 입력 링크 - GPIx (선택 사항) 출력 링크 - GPOx (선택 사항)
Bit Width any 1 1 1 1
Arithmetic unsigned unsigned unsigned unsigned unsigned
Parallelism any1 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} (default: VALT_IMAGE2D) VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL
Color Format {VAF_GRAY, VAF_COLOR}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

( Color Format 가 VAF_GRAY인 경우, Color Flavor는 FL_NONE이며, Color Format 가 VAF_COLOR인 경우, Color Flavor는 FL_RGB입니다.)

VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor {FL_NONE, FL_RGB}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

( Color Format 가 VAF_GRAY인 경우, Color Flavor는 FL_NONE이며, Color Format 가 VAF_COLOR인 경우, Color Flavor는 FL_RGB입니다.)

FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width 임의의 값 (기본값: 1024) 1 1 1 1
Max. Img Height 임의의 값 (기본값: 1024) 1 1 1 1

1

매개변수 MinimalParallelism에 명시된 최소값 이상으로 설정해야 합니다.

MinimalParallelism과 O.Parallelism이 서로 다를 경우, 병렬 처리가 두 번 변환되며, 매번 더미 값이 추가될 수 있습니다. 이러한 더미 픽셀로 인해 예상되는 출력 이미지의 너비는 다음과 같습니다:

Parameters

카메라 ID
Type 정적 쓰기 파라미터
Default
Range {-1, 0, 1, 2, 3}

The CameraID 매개변수는 카메라 운영자의 펌웨어에 CXP 마스터 포트 ID를 정의하여 자동 CXP 토폴로지 탐색(카메라-애플릿 간 및 애플릿-카메라 간)을 가능하게 합니다.

이 매개변수를 사용하면 여기 오퍼레이터에서 직접 ID를 지정할 수 있습니다. 하지만 ‘리소스’ 대화 상자에서 오퍼레이터의 리소스를 지정하는 것을 권장합니다. (‘리소스’ 대화 상자를 열려면, 카메라 오퍼레이터를 선택한 후 ‘디자인’ 메뉴에서 ‘리소스’ 메뉴 항목을 선택하기만 하면 됩니다.) CameraID 매개변수는 리소스 대화 상자의 매개변치를 사용하여 올바른 마스터 포트로 자동 업데이트됩니다. 다음 예제는 단일 카메라 하나와 듀얼 카메라 하나를 사용하는 경우입니다:

module3(단일 카메라)의 CameraID(CXP 마스터 포트 ID)는 2입니다. module5(듀얼 카메라)의 CameraID(CXP 마스터 포트 ID)는 1입니다.

듀얼 카메라에는 2개의 CXP 카메라 포트가 필요합니다. (쿼드 카메라에는 4개의 포트가 필요합니다.) 오퍼레이터의 CameraID 매개변수에는 마스터 포트만 반영됩니다.

사용 가능한 수(최대 4개)보다 많은 CameraPort 리소스를 정의할 경우(예: 5개의 "CXPSingleCamera" 연산자를 인스턴스화하는 경우처럼, 사용 가능한 CameraPort 리소스 4개가 모두 이미 할당된 상태에서 가장 마지막에 CameraPort 리소스를 요청하는 카메라 연산자는 자신의 CameraID를 -1로 설정합니다. 이 경우, 설계 규칙 검사에서 오류가 보고됩니다.

CameraID 매개변수는 {-1, 0, 1, 2, 3} 범위 내에 있습니다.

MinimalParallelism
Type 정적 읽기 매개변수
Default 12
Range [1 : 512]

데이터 손실 없이 카메라의 최대 대역폭을 전송할 수 있도록 하는 출력 링크 O에 대한 최소 병렬도를 지정하는 읽기 전용 매개변수입니다. 최소 병렬도는 자동으로 계산됩니다.

이 값은 FormatMode 매개변수에서 선택한 픽셀 형식에 따라 달라집니다.

매개변수 FormatMode를 동적 매개변수로 정의하면(아래의 FormatMode매개변수 설명 참조), 발생할 수 있는 최소 병렬 처리량이 계산됩니다.

최소 병렬 처리로 인해 더미 픽셀이 생성될 수 있는데, 연산자가 병렬 처리를 두 번 변환하고 이 과정에서 더미 값을 추가할 수 있기 때문입니다. 이러한 더미 픽셀로 인해 예상되는 출력 이미지의 너비는 다음과 같습니다:

Status
Type dynamic read parameter
Default
Range {0; 2^7-1}

The Status 매개변수는 카메라 조작자의 현재 상태를 반영하는 런타임 읽기 전용 매개변수입니다. 비트[0]은 CXP 스트림 패킷 손실 감지를 표시합니다. 비트[1] 은 CXP 스트림 패킷에서 단일 바이트 오류 수정을 나타냅니다. 비트[2]는 CXP 스트림 패킷에서 다중 바이트 오류 감지를 나타냅니다. 비트[3..6]은 예약되어 있습니다. 이 매개변수는 향후 버전에서 변경될 수 있습니다.

형식 유형
Type 정적 쓰기 매개변수
Default GRAY
Range GRAY, RGB, RGBA, RAW

여기에서는 수신할 픽셀 형식(CXP 사양에 정의된 바와 같이)을 선택할 수 있습니다. 여기서 선택한 값에 따라매개변수 FormatMode에서 선택할 수 있는 픽셀 형식이 결정됩니다. 따라서 이 매개변수의 설정은 매개변수 FormatMode에 직접적인 영향을 미칩니다. 아래의 FormatMode매개변수 설명도 참조하십시오.

FormatMode
Type 정적 또는 동적(사용자 정의) 쓰기 매개변수
Default Mono8
Range {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16, RGB8, RGB10, RGB12, RGB14, RGB16, RGBA8, RGBA10, RGBA12, RGBA14, RGBA16, Raw}

이 매개변수는 매개변수 FormatType에서 선택한 형식 유형에 속하는 모든 픽셀 형식 (CXP 사양에 정의된 대로)을 제공합니다.

여기에서 선택할 수 있는 픽셀 형식은 FormatType 매개변수의 설정에 따라 달라집니다. 따라서 항상 전체 값 범위 중 미리 설정된 일부만 사용할 수 있습니다.

다른 픽셀 형식 세트를 얻으려면, FormatType 매개변수의 설정을 변경하십시오. 위의 FormatType 매개변수 설명도 참조하십시오.

구체적으로, FormatType 매개변수의 다음 설정들은 FormatMode 매개변수에서 다음과 같은 픽셀 형식을 제공합니다:

FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16}

FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16}

FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16}

FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received.

이 매개변수를 동적 매개변수로 사용할지, 정적 매개변수로 사용할지 결정할 수 있습니다. ‘매개변수 유형’ 열에서 선택하십시오:

TxTriggerPacketMode
Type dynamic write 파라미터
Default CxpStandard
Range {CxpStandard, RisingEdgeOnly}

매개변수 TxTriggerPacketMode를 사용하면 프레임 그래버와 카메라를 연결하는 CXP 케이블의 대역폭을 높일 수 있습니다. 대역폭 증가는 카메라 트리거 신호의 해석 방식을 약간 수정함으로써 이루어집니다.

이 기능은 해당 기능을 지원하는 특정 카메라에서만 사용할 수 있습니다. 자세한 내용은 현지 대리점이나 Basler 지원팀에 문의해 주십시오.

매개변수 TxTriggerPacketMode는 두 가지 값을 허용합니다 (CxpStandard, RisingEdgeOnly):

  • CxpStandard: 권장 설정은 값 CxpStandard입니다. 값을 CxpStandard로 설정하면 카메라 트리거가 CXP 사양에 따라 작동합니다. (CXP 사양에 따르면, 프레임 그래버는 카메라를 한 번 트리거하기 위해 CXP 케이블을 통해 카메라로 두 개의 패킷을 전송하도록 정의되어 있습니다.)

  • RisingEdgeOnly: 값을 RisingEdgeOnly로 설정하면, 프레임 그래버는 카메라를 한 번 트리거하기 위해 카메라로 패킷을 단 하나만 전송합니다. 그 결과 대역폭이 증가하고 라인 속도가 높아집니다.

TxTriggerEventCount
Type dynamic read parameter
Default 0
Range {0;2^20-1}

The TxTriggerEventCount 매개변수는 카메라로 전송된 트리거 에지 이벤트의 수를 나타냅니다.

TxTriggerAcknowledgementCount
Type dynamic read parameter
Default 0
Range {0;2^20-1}

The TxTriggerAcknowledgementCount 매개변수는 카메라가 (이전에 전송된 트리거 에지 패킷에 대한 응답으로) 전송한 트리거 확인 패킷 중 프레임 그래버가 수신한 개수를 나타냅니다.

TxTriggerWaveformViolation
Type dynamic read parameter
Default 0
Range {0,1}

카메라 운영자가 포트 TriggerI의 두 트리거 에지 간 거리가 최소 에지 주파수를 위반하는 것을 감지하면, 이 매개변수가 1로 설정됩니다. 최소 에지 주파수는 모든 microEnable 5 플랫폼에서 550 ns(나노초)입니다. 이 매개변수는 읽혀질 때까지 해당 값을 유지합니다. 읽힌 후, 매개변수의 값이 업데이트됩니다. 주파수 제어는 지속적으로 실행되며, 매개변수의 읽기 상태에 영향을 받지 않습니다.

사용 예

다음 예제에서는 CXPDualCamera 연산자의 사용법을 보여줍니다: